package com.hzit.api.client;

import com.hzit.api.bean.Dept;
import com.hzit.api.service.DeptClientServiceFallbackFactoy;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 需要访问的服务的名称：
 * 1、feign 依赖ribbon和eureka
 * 2、指向服务提供者的具体访问路径（provide的Controller复制过来），自动去进行映射
 */
@FeignClient(name = "SPRINGCLOUD-DEPT", fallbackFactory = DeptClientServiceFallbackFactoy.class)
//@Component
@RequestMapping("/dept")
public interface DeptClientService {


    @GetMapping("/list")
    public List<Dept> list();

    /**
     * @param dept
     * @return
     * @RequestBody:接受的参数 表示是一个json格式的数据
     */
    @PostMapping("/add")
    public boolean add(@RequestBody Dept dept);

    @GetMapping("/get/{deptno}")
    public Dept get(@PathVariable("deptno") Integer deptno);

}
